package com.zhongge;

import com.zhongge.book.BookList;
import com.zhongge.user.AdminUser;
import com.zhongge.user.NormalUser;
import com.zhongge.user.User;

import java.util.Scanner;

@SuppressWarnings("all")
/**
 * @ClassName Main
 * @Description TODO 程序的入口
 * @Author zhongge
 * @Date 2025/7/14 16:32
 * @Version 1.0
 */
public class Main {
    /**
     * 登录方法
     * @return 返回对应的用户
     */
    public static User longin(String name) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入你的身份，1：管理员  2：普通用户");
        int choice = sc.nextInt();
        /**
         * 根据输入的身份返回不同的用户对象：使用到了向上转型
         */
        if (choice == 1) {
            return new AdminUser(name);
        } else {
            return new NormalUser(name);
        }
    }
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入你的姓名：");
        String name = sc.nextLine();
        //这里就是做两件事：
        //  1.得到什么用户的对象
        //  2.对应用户对象调用什么方法  此时需要在User中添加一个方法：doIOperation(选择的菜单，书架)


        //创建出书架
        /**
         * 为什么创建书架：对书的操作肯定是在书架上完成
         */
        BookList bookList = new BookList();//也可以将他写在第一行，代表程序启动就有3本书

        while (true) {
            //得到对应用户
            User user = longin(name);
            // 得到菜单的选择
            int choice = user.menu();
            //调用各种方法
            user.doIOperation(choice, bookList);
        }

    }
}
